home *** CD-ROM | disk | FTP | other *** search
/ Commodore Disc 53 / Commodore_Disc_53_19xx_-_de.d64 / vier gewinnt (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  5KB  |  216 lines

  1. 1000 rem:  ***************************
  2. 1010 rem:  *                         *
  3. 1020 rem:  *       4 - gewinnt       *
  4. 1030 rem:  *                         *
  5. 1040 rem:  *  in 1988 by motion soft *
  6. 1050 rem:  *       programming       *
  7. 1060 rem:  *    done by a.mengel     *
  8. 1070 rem:  *                         *
  9. 1080 rem:  *                         *
  10. 1090 rem:  *                         *
  11. 1100 rem:  *                         *
  12. 1110 rem:  *                         *
  13. 1120 rem:  ***************************
  14. 1130 rem
  15. 1140 fort=1to1000:next
  16. 1150 dim a(10,10),k(10),j(10)
  17. 1160 poke 53280,0: poke53281,0
  18. 1170 poke54296,15:poke54277,16+9
  19. 1180 poke54278,4*16+4
  20. 1190 gosub 2650
  21. 1200 fort=1to500:next
  22. 1210 print"[147]":restore
  23. 1220 fort=1to1000:next
  24. 1230 printtab(8)"****  vier gewinnt  ****"
  25. 1240 for g = 55344 to 55344+23
  26. 1250 read f:pokeg,f:next
  27. 1260 printtab(3)"geben sie nun bitte die namen"
  28. 1270 printtab(3)"der beiden spieler ein !"
  29. 1280 print""
  30. 1290 z=1:k(z)=0
  31. 1300 printtab(3)"name spieler"z":";
  32. 1310 fors=1to10
  33. 1320 get a$:ifa$=chr$(13)andz=2then1430
  34. 1330 ifa$=chr$(13)then1400
  35. 1340 ifa$=chr$(20)then1410
  36. 1350 ifa$>chr$(64)anda$<chr$(91)then1370
  37. 1360 goto1320
  38. 1370 ifs=10then1320
  39. 1380 printa$;:a(s,z)=asc(a$)
  40. 1390 k(z)=k(z)+1:nexts
  41. 1400 z=2:print"":goto1300
  42. 1410 k(z)=0:print"[145]"
  43. 1420 printtab(3);"                           [145]":goto1300
  44. 1430 fort=1to500:next
  45. 1440 print"[147]":restore
  46. 1450 fort=1to1000:next
  47. 1460 printtab(8)"****  vier gewinnt  ****"
  48. 1470 for g = 55344 to 55344+23
  49. 1480 read f:pokeg,f:next
  50. 1490 print"" chr$(154)
  51. 1500 w1$="[176][195][178][195][178][195][178][195][178][195][178][195][178][195][174]"
  52. 1510 w2$="[194] [194] [194] [194] [194] [194] [194] [194]"
  53. 1520 w3$="[171][195][219][195][219][195][219][195][219][195][219][195][219][195][179]"
  54. 1530 w4$="[173][195][177][195][177][195][177][195][177][195][177][195][177][195][189]"
  55. 1540 print tab(12)w1$
  56. 1550 fortr=1to5
  57. 1560 print tab(12)w2$
  58. 1570 print tab(12)w3$
  59. 1580 nexttr:print tab(12)w2$:print tab(12);w4$
  60. 1590 printtab(12)" 1 2 3 4 5 6 7"chr$(159)
  61. 1600 z=1
  62. 1610 printtab(3)"spieler"z":";
  63. 1620 ifk(z)=0then 1660
  64. 1630 fors=1tok(z)
  65. 1640 print chr$(a(s,z));
  66. 1650 nexts
  67. 1660 if z=1thenprint"([209]) am zug.":poke55296+15+k(z)+40*21,10:goto1680
  68. 1670 print"([215]) am zug.":poke55296+15+k(z)+40*21,7
  69. 1680 poke215,0:poke198,0
  70. 1690 printtab(3)"welche spalte"
  71. 1700 fort=1to500:next
  72. 1710 printtab(17)"[145]?[146]             "
  73. 1720 fort=1to100
  74. 1730 getx$:ifx$>chr$(48) and x$<chr$(56)then 1790
  75. 1740 nextt
  76. 1750 printtab(17)"[146][145]?"
  77. 1760 fort=1to500
  78. 1770 nextt
  79. 1780 goto1710
  80. 1790 x=asc(x$)
  81. 1800 printtab(17)"[145]"chr$(x)
  82. 1810 x=x-48
  83. 1820 fort=1to750:next
  84. 1830 fort=0to10 step2
  85. 1840 y=1035+x*2+40*(15-t)
  86. 1850 ifpeek(y)=81 then nextt
  87. 1860 ifpeek(y)=87 then nextt
  88. 1870 ifpeek(y) <>81 andpeek(y)<>87then 1970
  89. 1880 printtab(17)"[145]ungueltig !!"
  90. 1890 poke54276,33
  91. 1900 poke54273,4:poke54272,27
  92. 1910 fort=1to1000:next
  93. 1920 poke54276,0
  94. 1930 fort=1to500:next
  95. 1940 printtab(3);"[145]                                 "
  96. 1950 print"[145][145][145]"
  97. 1960 goto1690
  98. 1970 ifz=1then pokey,81:poke55307+x*2+40*(15-t),10:goto1990
  99. 1980 pokey,87:poke55307+x*2+40*(15-t),7
  100. 1990 poke54276,33
  101. 2000 poke54273,62:poke54272,5
  102. 2010 fort=1to100:next
  103. 2020 poke54276,0
  104. 2030 forp=1to4
  105. 2040 on p goto 2080,2100,2110,2120
  106. 2050 nextp
  107. 2060 sp=sp+1:ifsp=42then 2550
  108. 2070 goto2300
  109. 2080 q=78:goto 2130
  110. 2090 ifi<>tthen2150
  111. 2100 y=y-h*q-q:q=82:goto 2130
  112. 2110 y=y-h*q-q:q=2:goto 2130
  113. 2120 y=y-h*q-q:q=80:goto 2130
  114. 2130 i=0:j(i)=y
  115. 2140 fort=1to3
  116. 2150 y=y-q
  117. 2160 ifpeek(y)=81andz=1then gosub2270
  118. 2170 ifpeek(y)=87andz=2then gosub2270
  119. 2180 ifi<>tthen 2200
  120. 2190 nextt
  121. 2200 y=y+i*q+q:h=0
  122. 2210 fort=1to3
  123. 2220 y=y+q
  124. 2230 ifpeek(y)=81andz=1then gosub2270
  125. 2240 ifpeek(y)=87andz=2then gosub2270
  126. 2250 ifh<>tthen2050
  127. 2260 nextt
  128. 2270 i=i+1:j(i)=y:h=h+1
  129. 2280 ifi=3then2360
  130. 2290 return
  131. 2300 print"[145][145][145]                                    "
  132. 2310 print"                                      "
  133. 2320 print"[145][145][145][145][145][145][145]"
  134. 2330 ifz=2then1600
  135. 2340 z=z+1
  136. 2350 goto1610
  137. 2360 printtab(3)"[145][145][145]spieler"z":";
  138. 2370 ifk(z)=0then2410
  139. 2380 fors=1tok(z)
  140. 2390 print chr$(a(s,z));
  141. 2400 nexts
  142. 2410 if z=1then print"([209]) gewinnt.":poke55296+15+k(z)+40*21,10:goto2430
  143. 2420 print"([215]) gewinnt.":poke55296+15+k(z)+40*21,7
  144. 2430 printtab(3)"druecken sie die return taste !"
  145. 2440 g1=j(0)+55307-1035
  146. 2450 g2=j(1)+55307-1035
  147. 2460 g3=j(2)+55307-1035
  148. 2470 g4=j(3)+55307-1035
  149. 2480 get a$:ifa$=chr$(13)then 2520
  150. 2490 pokeg1,1:pokeg2,1:pokeg3,1:pokeg4,1
  151. 2500 pokeg1,0:pokeg2,0:pokeg3,0:pokeg4,0
  152. 2510 goto2480
  153. 2520 print"[147]"
  154. 2530 fort=1to2000:next
  155. 2540 goto2650
  156. 2550 print"[145][145][145][145][145][145]                           "
  157. 2560 print"                               "
  158. 2570 printtab(3)"[145]das spiel endet unentschieden"
  159. 2580 printtab(3)"druecken sie die return taste"
  160. 2590 get a$:ifa$=chr$(13)then 2610:
  161. 2600 goto2590
  162. 2610 fort=1to500:next
  163. 2620 print"[147]"
  164. 2630 fort=1to1000:next
  165. 2640 goto2650
  166. 2650 restore:clr:print"[147]" chr$(159)
  167. 2660 printtab(8)"****  vier gewinnt  ****"
  168. 2670 for g = 55344 to 55344+23
  169. 2680 read f:pokeg,f:next
  170. 2690 data 11,12,15,1,0,0,1,3,5,7,0,13,14,7,8,4,5,3,0,0,1,15,12,11
  171. 2700 print tab(9)"in 1988 by motion soft"
  172. 2710 print tab(6)"programming done by a.mengel"
  173. 2720 print tab(10)" f 1 :  spielbeginn"
  174. 2730 print tab(10)" f 3 :  spielregeln"
  175. 2740 print tab(10)" f 5 :  spielende"
  176. 2750 geta$:ifa$=chr$(134)then 2790
  177. 2760 if a$=chr$(133)then gosub 1200
  178. 2770 if a$=chr$(135)then sys64738
  179. 2780 goto 2750
  180. 2790 fort=1to500:next
  181. 2800 print"[147]" chr$(158)
  182. 2810 fort=1to1000:next
  183. 2820 print tab(14)"[145]spielregeln"
  184. 2830 print tab(14)"-----------"
  185. 2840 print chr$(159)
  186. 2850 print tab(2)"vier gewinnt ist ein spiel fuer"
  187. 2860 print tab(2)"zwei spieler.vor ihnen auf dem"
  188. 2870 print tab(2)"bildschirm befindet sich eine art"
  189. 2880 print tab(2)"gitter mit 6 reihen und 7 spalten."
  190. 2890 print tab(2)"die beiden spieler muessen versuchen"
  191. 2900 print tab(2)"vier ihrer spielmarken senkrecht,"
  192. 2910 print tab(2)"waagerecht oder diagonal nebeneinander"
  193. 2920 print tab(2)"zu positionieren.wer das als erster"
  194. 2930 print tab(2)"schafft,hat gewonnen."
  195. 2940 print tab(2)"< druecken sie die return taste >"
  196. 2950 get a$:ifa$=chr$(13)then2970
  197. 2960 goto2950
  198. 2970 fort=1to500:next
  199. 2980 print"[147]" chr$(158)
  200. 2990 fort=1to1000:next
  201. 3000 print tab(14)"[145]spielregeln"
  202. 3010 print tab(14)"-----------"
  203. 3020 print chr$(159)
  204. 3030 print tab(2)"jeder der spieler besitzt aber"
  205. 3040 print tab(2)"nur 21 spielmarken.wenn sie"
  206. 3050 print tab(2)"aufgebraucht sind kommt es"
  207. 3060 print tab(2)"zu einem unentschieden."
  208. 3070 print tab(2)"viel erfolg !!!"
  209. 3080 print tab(2)"< druecken sie die return taste >"
  210. 3090 get a$:ifa$=chr$(13)then 3110
  211. 3100 goto 3090
  212. 3110 fort=1to500:next
  213. 3120 print"[147]"
  214. 3130 fort=1to1000:next
  215. 3140 restore:goto 2650
  216.